import { Component, ViewChild, OnInit, AfterViewInit, AfterViewChecked } from '@angular/core';
import {ChildComponent} from './child/child.component';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit, AfterViewInit, AfterViewChecked {

  message: string;

  ngAfterViewInit(): void {
    console.log("父组件的视图初始化完毕");
    setTimeout(() => {    // 在视图初始化完成或者监测完成后如果直接修改视图里面的内容会抛出异常，解决方法要添加个定时器
      this.message = "hello";
    },0)

  }
  ngAfterViewChecked(): void {
    console.log("父组件的视图变更检测完毕");
  }

  @ViewChild("chlid1")      // 可以在父组件里面获得字组件的引用  可以调用子组件的方法
    chilid1: ChildComponent;

  title = 'app';

  constructor() { }

  ngOnInit() {
    console.log(this.chilid1);
    setInterval(() => {
      this.chilid1.greeting("Haojie");
      console.log(this.chilid1);
    },5000);

  }

}
